// https://umijs.org/config/
import { defineConfig } from 'umi';
import defaultSettings from './defaultSettings';
import proxy from './proxy';
const { REACT_APP_ENV } = process.env;
export default defineConfig({
  // 配置是否让生成的文件包含 hash 后缀，通常用于增量发布和避免浏览器加载缓存。
  hash: true,
  antd: {},
  dva: {
    // 表示是否启用 dva model 的热更新
    hmr: true,
  },
  // 主题配置
  layout: {
    // 产品名，默认值为包名
    name: 'Ant Design Pro',
    // 是否开始国际化配置
    locale: true,
    // 支持宽度
    siderWidth: 208,
  },
  // 国际化配置
  locale: {
    // default zh-CN
    default: 'zh-CN',
    antd: true,
    // default true, when it is true, will use `navigator.language` overwrite default
    baseNavigator: true,
  },
  // 是否启用按需加载
  dynamicImport: {
    // 指向 loading 组件文件
    loading: '@/components/PageLoading/index',
  },
  // 配置需要兼容的浏览器最低版本
  targets: {
    ie: 11,
  },
  // umi routes: https://umijs.org/docs/routing
  routes: [
    {
      path: '/user',
      layout: false,
      // 如果配置了 routes，则优先使用配置式路由，且约定式路由会不生效
      routes: [
        {
          name: 'login',
          path: '/user/login',
          component: './user/login',
        },
        {
          name: 'register',
          path: '/user/register', 
          component: './user/register'
        }
      ],
    },
    {
      path: '/welcome',
      name: 'welcome',
      icon: 'smile',
      component: './Welcome',
    },
    
    {
      path: '/admin',
      name: 'admin',
      icon: 'crown',
      // 需要的使用权
      access: 'canAdmin',
      component: './Admin',
      routes: [
        {
          path: '/admin/sub-page',
          name: 'sub-page',
          icon: 'smile',
          component: './Welcome',
        },
      ],
    },

    {
      name: 'list.table-list',
      icon: 'table',
      path: '/list',
      component: './ListTableList',
    },
    {
      path: '/',
      redirect: '/welcome',
    },
 
    {
      name: '购买下单',
      icon: 'smile',
      path: '/product',
      routes: [
        {
          path: '/product/productpage',
          name: '商品列表',
          icon: 'table',
          component: './ProductPage',
        },
        {
          name: '商品详情',
          hideInMenu: true,
          path: '/product/formRegister/:code',
          component: './ProductPage/FormRegister',
        },
        {
          name: '订单列表',
          icon: 'smile',
          path: '/product/orderPage',
          component: './OrderPage',
        },
      ],
    },
    {
      name: '用户中心',
      icon: 'smile',
      // path: '/user',
      routes: [
        {
          path: '/account',
          name: '个人设置',
          icon: 'smile',
          component: './AccountSettings',
        },
        {
          path: '/dashboard',
          name: '数据面板',
          icon: 'smile',
          component: './DashboardAnalysis',
        },
        {
          path: '/workplace',
          name: '工作台',
          icon: 'smile',
          component: './DashboardWorkplaceTwo',
        },
      ],
    },
    {
      component: './404',
    },
  ],
  // 配置主题，实际上是配 less 变量
  // Theme for antd: https://ant.design/docs/react/customize-theme-cn
  theme: {
    // ...darkTheme,
    'primary-color': defaultSettings.primaryColor,
  },
  // 配置标题
  // @ts-ignore
  title: false,
  // 忽略 moment 的 locale 文件，用于减少尺寸。
  ignoreMomentLocale: true,
  // 配置代理能力 默认dev
  proxy: proxy[REACT_APP_ENV || 'dev'],
  // 配置是否需要生成额外用于描述产物的 manifest 文件，默认会生成 asset-manifest.json
  manifest: {
    // 给所有文件路径加前缀
    basePath: '/',
  },
});
